#include <stdio.h>
#include <stdlib.h>

#define F_PRINT_ERR(e)\
do\
{\
    if(e == NULL)\
    {\
        printf("open error\n");\
        exit(-1);\
    }\
}\
while (0)


int main1()
{
    FILE *pf = fopen("a.txt","w+");
//    FILE *pf = fopen("a.txt","r");
//    if(pf == NULL)
//    {
//        printf("open error\n");
//        exit(-1);
//    }
    F_PRINT_ERR(pf);

    for(char ch = 'a';ch <= 'z';ch++)
    {
        putchar(fputc(ch,pf));
    }
//    if(fputc('a',pf) == EOF)
//    {
//        printf("write error\n");
//    }
//    fputc('b',pf);
//    fputc('c',pf);
//    fputc('d',pf);
//    fputc('e',pf);
    fclose(pf);
    return 0;
}

int main()
{
    FILE *pf = fopen("a.txt","r+");

    F_PRINT_ERR(pf);

//    char ch = fgetc(pf); // a
//    putchar(ch);
//    printf("%x\n",ch);

//    ch = fgetc(pf); // b
//    putchar(ch);
//    printf("%x\n",ch);

//    ch = fgetc(pf); // c
//    putchar(ch);
//    printf("%x\n",ch);

//    ch = fgetc(pf); // EOF
//    putchar(ch);
//    printf("%x\n",ch);

//    ch = fgetc(pf); // EOF
//    putchar(ch);
//    printf("%x\n",ch);

    char ch;
    while ((ch = fgetc(pf)) != EOF) {
        putchar(ch);
    }

    fclose(pf);
    return 0;
}
